The Internet is a world-wide network of interconnected computers. The World-Wide-Web is an information system on the Internet designed for electronic document interchange. Electronic documents on the World-Wide-Web are typically stored in files that include text, hypertext, references to graphics, animation, audio, video and other electronic data. The structure of hypertext documents is defined by document markup languages such as is defined by document markup languages such as Standard Generalized Markup Language (“SGML”), Hyper Text Markup Language (“HTML”), Compact Hyper Text Markup Language (“cHMTL”), extensible Markup Language (“XML”), Handheld Device Markup Language (“HDML”), Voice extensible Markup Language, (“VoxML”), Wireless Markup Language (“WML”), and others.
As is known in the art, a hypertext document includes markup codes called “element tags.” Element tags define the structure of a hypertext document and typically includes at least a “begin” tag name enclosed by a delimiter and, in many instances, an “end” tag name enclosed by a delimiter. For example, the markup tag “<H1>” signifies the beginning of a Hyper Text Markup Language first level header, and the markup tag “</H1>” signifies the end of a Hyper Text Markup Language first level header. However, the Hyper Text Markup Language image tag “<IMG . . . >” ends with the closing tag delimiter “>” and does not use an end tag in the format “<\IMG”. Other markup languages have similar tags used to create hypertext documents. Hereinafter, the element tags are called mark-up tags.
Markup languages allow references to additional content besides text including graphics, animation, audio, video and other electronic data. The Hyper Text Markup Language allows use of graphical images in a hypertext document with an image “<IMG>” tag. For example, an exemplary Hyper Text Markup Language image tag <IMG SRC=“logo jpg”> allows a graphical logo image stored in a Joint Pictures Expert Group file “logo jpg” to be displayed.
Hypertext documents from the World-Wide-Web are typically displayed for a user with a software application called a “browser” such as Internet Explorer, by Microsoft Corporation of Redmond Wash., or Netscape Navigator, by Netscape Communications of Mountain View, Calif., and others. A browser typically parses a hypertext document and converts hypertext, including markup tags, into a visual display of text, graphics, animation, audio, video, etc., for display on a device such as a personal computer display.
Additional content is retrieved in a hypertext document from other sources using “hyperlink” references within hypertext documents. For example, an exemplary Hyper Text Markup Language hyperlink tag “<A HREF=“http://www.spyglass.com/logo.mov”>” provides a hyperlink to a movie file “logo.mov.” When a user selects the link (e.g., with a mouse click) in a hypertext document, the movie file “logo.mov” is located using a Uniform Resource Locator (“URL”) from the location “www.spyglass.com.” Hyper Text Transfer Protocol is used as the transfer protocol.
Transfer protocols such as Hyper Text Transfer Protocol (“HTTP”), File Transfer Protocol (“FTP”), Gopher, and others provide a means for transferring hypertext documents or additional content from other locations on the World-Wide-Web. Hyper Text Transfer Protocol is one primary protocol used to transfer information on the World-Wide-Web. Hyper Text Transfer Protocol is a protocol that allows users to connect to a server, make a hypertext request, get a response, and then disconnect from the server. File Transfer Protocol is a protocol that provides access to files on remote systems. Using File Transfer Protocol, a user logs onto a system, searches a directory structure and downloads or uploads a file. Gopher is a protocol similar to File Transfer Protocol. Gopher provides a series of menus linked to files containing actual hypertext.
Content providers on the World-Wide-Web provide custom content using attributes from markup language tags. For example, the Hyper Text Markup Language IMG tag includes the following attributes: ISMAP, a selectable image map; SRC, a source Uniform Resource Locator of an image; ALT, a text string used instead of an image; ALIGN, for alignment of an image (e.g., left, middle, right); VSPACE, the space between an image and the text above and below it; HSPACE, the space between and image and the text to its left or right; WIDTH, the width in pixels of an image; HEIGHT, the height in pixels of an image; and a few other attributes depending on the browser being used (e.g., BORDER and LOWSRC in a Netscape browser).
In addition, other content attributes such as text can be modified using colors (e.g., TEXT=“blue,” or TEXT=“0xa6caf0” for sky blue), font types (e.g., FONT FACE=“Times Roman”), character formatting, (e.g., <B>text</B> for bold text), etc.
There are a large number of electronic devices that can be used to display electronic content from computer networks like the Internet, intranets and other computer networks. The electronic devices include personal computers, wireless telephones, personal digital assistants, handheld computers, set-top boxes and Internet appliances and other types of electronic devices. These devices may display electronic content using one or more fonts.
As is known in the art, a “font” is a single instance of a typeface. A “typeface” refers to the style of a character or a glyph. A “character” is a member of a set of shapes used for the organization, control and representation of information. A “glyph” is a specific instance of a character.
The current generation of electronic devices suffer from a number of problems when they are used to display electronic content. One problem is that such devices typically have limited resources (e.g., memory) and may be only be able to store one or two types of fonts for one or two languages. However, electronic content provided on a computer network like the Internet, an intranet or other computer network can include virtually any font for virtually any language. As a result, an electronic device may have to obtain additional fonts to display such electronic content.
Another problem is that a language such as Chinese, Japanese Korean, Vietnamese, etc. that use alphabets of characters including pictographs or ideographs or logographs have much larger storage requirements for their fonts. The storage requirements for such languages may vary based on the size of the corresponding character set. Individual glyphs used to create 10,000 unique pictographs, ideographs or logographs can easily include 30,000 or more unique glyphs.
Another problem is that storage of a complete set of glyphs for a pictograph, ideograph or logograph based language may be prohibitive on electronic devices with limited resources such as a wireless telephone, personal digital assistant, etc. Many of the glyphs may never be used but still require storage on the electronic device if a complete set of glyphs is stored.
There have been attempts to solve some of the problems associated with using fonts and using pictograph based languages for printers. See, for example U.S. Pat. No. 5,361,332, entitled “Method of Commonly Using Font Information for Outputting Information in a System Having a Plurality of Information Processing Devices,” and U.S. Pat. No. 5,940,581, entitled “Dynamic Font Management for Large Character Sets.” However, these solutions still do not solve all of the problems associated with using glyphs on electronic devices with limited resources such as wireless phones or personal digital assistants, etc.
Thus, it is desirable to allow small electronic devices to utilize resource intensive fonts. The fonts should be useable on electronic devices with limited resources, even if the fonts don't actually reside on the electronic devices.